[C - Socket] UDP SERVER

Publicado por Enzo de Brito Ferber 10/03/2006

[ Hits: 10.479 ]

Homepage: http://www.maximasonorizacao.com.br

Download server.c




Este script testei na minha
propria máquina em terminas
diferentes, mas creio eu que
funcionará em uma rede local.

Como fazer funcionar:
Compile o script:
cc -o server server.c

Abra um terminal (xterm)
Execute o servidor.

Abra outro terminal (xterm)
Execute o cliente

P.S.: O cliente está em outro
link

  



Esconder código-fonte

#include <stdio.h>
#include <stdlib.h>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>

#define PORT 3456
#define MAX_CONNECTS_TRY 10

int main(int argc, char *argv[]){
   
   int fd1, fd2;
   int num_b;
   int bind_return;
   int listen_return;
   int sin_size; //para passar endereco para funcao accept()
   int msg_size;
   
   char msg[100];
   char hostname[30];
   
   struct sockaddr_in client;
   struct sockaddr_in host;
   
   gethostname(hostname, 30);
   
   printf("Seu HOSTNAME: %s\n\n", hostname);
   
   fd1 = socket(AF_INET, SOCK_DGRAM, 0);
   
   if(fd1 == -1){
      perror("socket");
      exit(1);
   }
   
   client.sin_family = AF_INET;
   client.sin_port = htons(PORT);
   client.sin_addr.s_addr = INADDR_ANY; //poe o endeco do meu computador automaticamente
   
   bind_return = bind(fd1, (struct sockaddr *)&client, sizeof(struct sockaddr));
   
   if(bind_return == -1){
      perror("bind");
      exit(1);
   }
   while(strcmp("exit", msg) != 0){
   memset(msg, 0x0, 100);
   sin_size = sizeof(host);
   msg_size = recvfrom(fd1, msg, 100, 0, (struct sockaddr *)&host, &sin_size);
   printf("Mensagem de:%s: %s\n", inet_ntoa(host.sin_addr), msg);
}
} 

    

Scripts recomendados

Socket em C/C++ - CLIENT

whateveryouwant.c

Sockets: um mini webserver

Encontrar IP

Destrinchador de IPs


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts